<?php

class bronceController extends Controller {
    public function __construct() {
        parent::__construct();
        //$this->_view->setLayout('sincss');
    }
    
    public function index(){
    }
    
    public function fusion($idcolada){
        $this->_view->setLayout('sincss');

        //Cargar modelos
        $productos = $this->loadModel('Producto');
        $productos->open(false);
        $colada = $this->loadModel('Lances');
        $colada->open(true);
        $consumos = $this->loadModel('ConsumoBr');
        $consumos->open(true);
        $costos = $this->loadModel('Costos');
        $costos->open(true);
        $partran = $this->loadModel('Partran');
        $partran->open(true);
        $almacenMaterial = $this->loadModel('Almprodusu');
        $almacenMaterial->open(true);
        $transac = $this->loadModel('Transac');
        $transac->open(true);
        
        $moldes = $colada->pzasVaciadas($idcolada);
        $materiales = $consumos->materialVaciado($idcolada);
        
        
        $tran = array();
        $count = 0;
        $colada = 0;
        
        foreach($moldes as $molde){
            $productos->get('IDENTIFICACION',"'" . $molde['Producto'] . "'");
            $costos->get('aleacion',"'" . $productos->_campousuario3 . "'");
            $colada = $molde['vacRec'] != 0 ? $molde['vacRec'] : $colada;
            $tran[$count]['serie'] = 'PLB';
            $tran[$count]['colada'] = $colada;
            $tran[$count]['fecha'] = date('Y-m-d',strtotime($molde['fecha']));
            $tran[$count]['lance'] = $molde['NumLance'];
            $tran[$count]['horno'] = $molde['Horno'];
            $tran[$count]['producto'] = $molde['Producto'];
            $tran[$count]['descripcion'] = $productos->_descripcion;
            $tran[$count]['almacen'] = 'PLB';
            $tran[$count]['usuario'] = 'limpbr';
            $tran[$count]['costo'] = $costos->_factor * $productos->_campousuario1;
            $tran[$count]['casting'] = $productos->_campousuario5;
            $tran[$count]['tipo'] = 'E';
            $tran[$count]['tipo2'] = 'Pza Vaciada';
            $tran[$count]['cantidad'] = $molde['cantidad'] * $productos->_tiemposurtido;
            $count++;
        }
        
        $this->_view->assign('titulo', 'Transaccion Bronce');
        $this->_view->assign('moldes', $tran);

        if(isset($_POST['guardar'])){
            unset($_POST['guardar']);
            
            $sermod = $this->loadModel('Sermod','',false);
            $count = 1;
            $Transac = "";
            $datosTransac = array();
            
            while(isset($_POST['colada_' . $count])){
                $codigo = "";
                if(!isset($datosTransac[$_POST['almacen_' . $count]])){
                    switch($_POST['almacen_' . $count]){
                        case 'AMD':
                        case 'AMP':
                            $codigo = "'200301026923084'";
                            break;
                        case 'PTB':
                            $codigo = "'200301024246862'";
                            break;
                    }
                    
                    $datosTransac[$_POST['almacen_' . $count]] = $transac->setTransac(
                        $_POST['serie_' . $count],
                        $sermod->getLastConsect($_POST['serie_' . $count],$_POST['almacen_' . $count]),
                        $_POST['almacen_' . $count],
                        $_POST['fecha_' . $count],
                        $_POST['colada_' . $count],
                        $_POST['usuario_' . $count],
                        $codigo,
                        $_POST['lance_' . $count],
                        $_POST['horno_' . $count],
                        'Generado desde php'
                    );
                    $Transac .= $_POST['serie_' . $count] . $datosTransac[$_POST['almacen_' . $count]]['NUMERO'] . ", ";
                }
            
                if($datosTransac[$_POST['almacen_' . $count]] == false){
                    $this->_view->assign('_error', 'Error al generar la transaccion');
                    $this->_view->renderizar('fusion', 'inicio');
                }
                
                if(!$partran->setPartran($datosTransac[$_POST['almacen_' . $count]]['CODIGO'],$count,$_POST['fecha_' . $count],$_POST['almacen_' . $count],$_POST['producto_' . $count],$_POST['cantidad_' . $count] * ($_POST['tipo_' . $count] == 'S' ? -1 : 1), $_POST['costo_' . $count],$_POST['tipo_' . $count],'Generado desde PHP')){
                    $this->_view->assign('_error', 'Error al generar la partida');
                    $this->_view->renderizar('fusion', 'inicio');
                }
                $count++;
            }
               
            $this->_view->assign('_susess', 'Transacciones generadas ' . $Transac);
        }
        
        //Envio de datos
        $this->_view->renderizar('fusion', 'inicio');
    }
    
    public function materiales($idcolada){
        $this->_view->setLayout('sincss');

        //Cargar modelos
        $productos = $this->loadModel('Producto');
        $colada = $this->loadModel('Lances');
        $consumos = $this->loadModel('ConsumoBr');
        $costos = $this->loadModel('Costos');
        $partran = $this->loadModel('Partran');
        
        $transac = $this->loadModel('Transac');
        $sermod = $this->loadModel('Sermod');
        
        $moldes = $colada->pzasVaciadas($idcolada);
        $materiales = $consumos->materialVaciado($idcolada);
        
        $almacenMaterial = $this->loadModel('Almprodusu');
        
        $tran = array();
        $count = 0;
        $colada = 0;
        
        foreach($materiales as $material){
            $producto = $material['CODIGO'];
            $productos->get('IDENTIFICACION',"'" . $producto . "'");
            $almacenMaterial->get('PRODUCTO',"'$producto'");
            $costo = $partran->getCosto($almacenMaterial->_almacen,$almacenMaterial->_producto,'E');
            
            $tran[$count]['serie'] = $almacenMaterial->_almacen == 'AMD' ? 'LBD' : 'LBP';
            $tran[$count]['colada'] = $colada;
            $tran[$count]['fecha'] = date('Y-m-d',strtotime($material['FECHA']));
            $tran[$count]['lance'] = $material['NumLance'];
            $tran[$count]['horno'] = $material['Horno'];
            $tran[$count]['producto'] = $material['CODIGO'];
            $tran[$count]['descripcion'] = $productos->_descripcion;
            $tran[$count]['almacen'] = $almacenMaterial->_almacen;
            $tran[$count]['usuario'] = $almacenMaterial->_almacen == 'AMD' ? 'ombrd' : 'ombr';
            $tran[$count]['costo'] = $costo['costopromedio'];
            $tran[$count]['tipo'] = 'S';
            $tran[$count]['tipo2'] = 'Material';
            $tran[$count]['cantidad'] = $material['CANT'];
            
            $count++;
        }
        
        $this->_view->assign('titulo', 'Transaccion Bronce');
        $this->_view->assign('moldes', $tran);

        if(isset($_POST['guardar'])){
            unset($_POST['guardar']);
            
            $count = 1;
            $Transac = "";
            $datosTransac = array();
            
            while(isset($_POST['colada_' . $count])){
                $codigo = "";
                if(!isset($datosTransac[$_POST['almacen_' . $count]])){
                    switch($_POST['almacen_' . $count]){
                        case 'AMD':
                        case 'AMP':
                            $codigo = "'200301026923084'";
                            break;
                        case 'PTB':
                            $codigo = "'200301024246862'";
                            break;
                    }
                    
                    $datosTransac[$_POST['almacen_' . $count]] = $transac->setTransac(
                        $_POST['serie_' . $count],
                        $sermod->getLastConsect($_POST['serie_' . $count],$_POST['almacen_' . $count]),
                        $_POST['almacen_' . $count],
                        $_POST['fecha_' . $count],
                        $_POST['colada_' . $count],
                        $_POST['usuario_' . $count],
                        $codigo,
                        $_POST['lance_' . $count],
                        $_POST['horno_' . $count],
                        'Generado desde php'
                    );
                    $Transac .= $_POST['serie_' . $count] . $datosTransac[$_POST['almacen_' . $count]]['NUMERO'] . ", ";
                }
            
                if($datosTransac[$_POST['almacen_' . $count]] == false){
                    $this->_view->assign('_error', 'Error al generar la transaccion');
                    $this->_view->renderizar('fusion', 'inicio');
                }
                
                if(!$partran->setPartran($datosTransac[$_POST['almacen_' . $count]]['CODIGO'],$count,$_POST['fecha_' . $count],$_POST['almacen_' . $count],$_POST['producto_' . $count],$_POST['cantidad_' . $count] * ($_POST['tipo_' . $count] == 'S' ? -1 : 1), $_POST['costo_' . $count],$_POST['tipo_' . $count],'Generado desde PHP')){
                    $this->_view->assign('_error', 'Error al generar la partida');
                    $this->_view->renderizar('fusion', 'inicio');
                }
                $count++;
            }
               
            $this->_view->assign('_susess', 'Transacciones generadas ' . $Transac);
        }
        
        //Envio de datos
        $this->_view->renderizar('fusion', 'inicio');
    }
}

?>